// 入口函数
$(function () {
    // 需求1: 点击切换
    $('#loginBox a').on('click', function () {
        $('#loginBox').hide()
        $('#regBox').show()

    })
    $('#regBox a').on('click', function () {
        $('#regBox').hide()
        $('#loginBox').show()
    })

    // 需求2: 自定义校验规则
    // 定义校验规则,使用的是form.verify(),
    // 参数是对象,属性是校验名称,值是校验规则
    // 值有两种类型:函数和数组
    let form = layui.form
    form.verify({
        username: [
            /^[\w]{1,10}$/, '用户名必须是1-10位字母和数字'
        ],

        password: [/^[\S]{6,15}$/
            , '密码必须6到15位，且不能出现空格'],

        repassword: function (value) {
            // 给哪个标签添加校验规则,这个标签的值就赋值给value
            // console.log(value);
            let psd = $('#regBox [name=password]').val()
            // console.log(psd);
            if (value !== psd) {
                return '两次密码输入不一致!'
            }
        }
    })

    // 需求3: 注册功能
    let layer = layui.layer
    $('#formReg').on('submit', function (e) {
        e.preventDefault()
        // 发送axios
        axios({
            method: 'POST',
            url: '/api/reguser',
            data: $(this).serialize()
        }).then(res => {
            if (res.data.status !== 0) {
                return layer.msg(res.data.message, { icon: 2 });
            }
            layer.msg("恭喜您,注册用户成功!", { icon: 1 })
            // 切换到登录模块
            $('#regBox a').click()
            // 清空表单,-DOM元素中,有一个reset()可以重置表单
            $('#formReg')[0].reset()
        })
    })

    // 需求4: 登录功能
    $('#formLogin').on('submit', function (e) {
        e.preventDefault()
        axios({
            method: 'POST',
            url: '/api/login',
            data: $('#formLogin').serialize()
        }).then(res => {
            if (res.data.status !== 0) {
                return layer.msg(res.data.message, { icon: 2 })
            }
            layer.msg('恭喜您,登录成功!', { icon: 1 })
            // 本地存储token
            localStorage.setItem('token', res.data.token)
            // 页面跳转到index.html
            location.href = '/index.html'
        })
    })

})